package com.lly.songhigh.entity;

import java.util.ArrayList;

/**
 * Created by dllo on 15/10/26.
 */
public class SearchResultSingleSongDetail {

    private ArrayList<SearchResultData> data;
    private int totalCount;
    private int pageCount;

    public SearchResultSingleSongDetail() {

    }

    public SearchResultSingleSongDetail(ArrayList<SearchResultData> data, int pageCount, int totalCount) {
        this.data = data;
        this.pageCount = pageCount;
        this.totalCount = totalCount;
    }

    public ArrayList<SearchResultData> getData() {
        return data;
    }

    public void setData(ArrayList<SearchResultData> data) {
        this.data = data;
    }

    public int getPageCount() {
        return pageCount;
    }

    public void setPageCount(int pageCount) {
        this.pageCount = pageCount;
    }

    public int getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }

    public static class SearchResultData{

        private int songId;
        private String name;
        private String alias;
        private String remarks;
        private boolean firstHit;
        private int librettistId;
        private String librettistName;
        private int composerId;
        private String composerName;
        private int singerId;
        private String singerName;
        private int singerSFlag;
        private int albumId;
        private String albumName;
        private int favorites;
        private int originalId;
        private int type;
        private String tags;
        private int releaseYear;
        private int producer;
        private int publisher;
        private int status;
        private int audit;
        private int lang;
        private ArrayList<AuditionListEntity> auditionList;
        private ArrayList<UrlListentity> urlList;
        private String llList;
        private ArrayList<MvListEntity> mvList;
        private int mvPickCount;
        private int mvBulletCount;
        private int outFlag;
        private String outList;
        private int commentCount;
        private int riskRank;
        private String outLinks;
        private RightKeyEntity rightKey;
        private int operType;
        private int level;

        public SearchResultData() {

        }

        public SearchResultData(int albumId, String albumName, String alias,
                                int audit, ArrayList<AuditionListEntity> auditionList,
                                int commentCount, int composerId, String composerName,
                                int favorites, boolean firstHit, int lang, int level,
                                int librettistId, String librettistName, String llList,
                                int mvBulletCount, ArrayList<MvListEntity> mvList, int mvPickCount,
                                String name, int operType, int originalId, int outFlag, String outLinks,
                                String outList, int producer, int publisher, int releaseYear, String remarks,
                                RightKeyEntity rightKey, int riskRank, int singerId, String singerName,
                                int singerSFlag, int songId, int status, String tags, int type,
                                ArrayList<UrlListentity> urlList) {

            this.albumId = albumId;
            this.albumName = albumName;
            this.alias = alias;
            this.audit = audit;
            this.auditionList = auditionList;
            this.commentCount = commentCount;
            this.composerId = composerId;
            this.composerName = composerName;
            this.favorites = favorites;
            this.firstHit = firstHit;
            this.lang = lang;
            this.level = level;
            this.librettistId = librettistId;
            this.librettistName = librettistName;
            this.llList = llList;
            this.mvBulletCount = mvBulletCount;
            this.mvList = mvList;
            this.mvPickCount = mvPickCount;
            this.name = name;
            this.operType = operType;
            this.originalId = originalId;
            this.outFlag = outFlag;
            this.outLinks = outLinks;
            this.outList = outList;
            this.producer = producer;
            this.publisher = publisher;
            this.releaseYear = releaseYear;
            this.remarks = remarks;
            this.rightKey = rightKey;
            this.riskRank = riskRank;
            this.singerId = singerId;
            this.singerName = singerName;
            this.singerSFlag = singerSFlag;
            this.songId = songId;
            this.status = status;
            this.tags = tags;
            this.type = type;
            this.urlList = urlList;
        }

        public int getAlbumId() {
            return albumId;
        }

        public void setAlbumId(int albumId) {
            this.albumId = albumId;
        }

        public String getAlbumName() {
            return albumName;
        }

        public void setAlbumName(String albumName) {
            this.albumName = albumName;
        }

        public String getAlias() {
            return alias;
        }

        public void setAlias(String alias) {
            this.alias = alias;
        }

        public int getAudit() {
            return audit;
        }

        public void setAudit(int audit) {
            this.audit = audit;
        }

        public ArrayList<AuditionListEntity> getAuditionList() {
            return auditionList;
        }

        public void setAuditionList(ArrayList<AuditionListEntity> auditionList) {
            this.auditionList = auditionList;
        }

        public int getCommentCount() {
            return commentCount;
        }

        public void setCommentCount(int commentCount) {
            this.commentCount = commentCount;
        }

        public int getComposerId() {
            return composerId;
        }

        public void setComposerId(int composerId) {
            this.composerId = composerId;
        }

        public String getComposerName() {
            return composerName;
        }

        public void setComposerName(String composerName) {
            this.composerName = composerName;
        }

        public int getFavorites() {
            return favorites;
        }

        public void setFavorites(int favorites) {
            this.favorites = favorites;
        }

        public boolean isFirstHit() {
            return firstHit;
        }

        public void setFirstHit(boolean firstHit) {
            this.firstHit = firstHit;
        }

        public int getLang() {
            return lang;
        }

        public void setLang(int lang) {
            this.lang = lang;
        }

        public int getLevel() {
            return level;
        }

        public void setLevel(int level) {
            this.level = level;
        }

        public int getLibrettistId() {
            return librettistId;
        }

        public void setLibrettistId(int librettistId) {
            this.librettistId = librettistId;
        }

        public String getLibrettistName() {
            return librettistName;
        }

        public void setLibrettistName(String librettistName) {
            this.librettistName = librettistName;
        }

        public String getLlList() {
            return llList;
        }

        public void setLlList(String llList) {
            this.llList = llList;
        }

        public int getMvBulletCount() {
            return mvBulletCount;
        }

        public void setMvBulletCount(int mvBulletCount) {
            this.mvBulletCount = mvBulletCount;
        }

        public ArrayList<MvListEntity> getMvList() {
            return mvList;
        }

        public void setMvList(ArrayList<MvListEntity> mvList) {
            this.mvList = mvList;
        }

        public int getMvPickCount() {
            return mvPickCount;
        }

        public void setMvPickCount(int mvPickCount) {
            this.mvPickCount = mvPickCount;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getOperType() {
            return operType;
        }

        public void setOperType(int operType) {
            this.operType = operType;
        }

        public int getOriginalId() {
            return originalId;
        }

        public void setOriginalId(int originalId) {
            this.originalId = originalId;
        }

        public int getOutFlag() {
            return outFlag;
        }

        public void setOutFlag(int outFlag) {
            this.outFlag = outFlag;
        }

        public String getOutLinks() {
            return outLinks;
        }

        public void setOutLinks(String outLinks) {
            this.outLinks = outLinks;
        }

        public String getOutList() {
            return outList;
        }

        public void setOutList(String outList) {
            this.outList = outList;
        }

        public int getProducer() {
            return producer;
        }

        public void setProducer(int producer) {
            this.producer = producer;
        }

        public int getPublisher() {
            return publisher;
        }

        public void setPublisher(int publisher) {
            this.publisher = publisher;
        }

        public int getReleaseYear() {
            return releaseYear;
        }

        public void setReleaseYear(int releaseYear) {
            this.releaseYear = releaseYear;
        }

        public String getRemarks() {
            return remarks;
        }

        public void setRemarks(String remarks) {
            this.remarks = remarks;
        }

        public RightKeyEntity getRightKey() {
            return rightKey;
        }

        public void setRightKey(RightKeyEntity rightKey) {
            this.rightKey = rightKey;
        }

        public int getRiskRank() {
            return riskRank;
        }

        public void setRiskRank(int riskRank) {
            this.riskRank = riskRank;
        }

        public int getSingerId() {
            return singerId;
        }

        public void setSingerId(int singerId) {
            this.singerId = singerId;
        }

        public String getSingerName() {
            return singerName;
        }

        public void setSingerName(String singerName) {
            this.singerName = singerName;
        }

        public int getSingerSFlag() {
            return singerSFlag;
        }

        public void setSingerSFlag(int singerSFlag) {
            this.singerSFlag = singerSFlag;
        }

        public int getSongId() {
            return songId;
        }

        public void setSongId(int songId) {
            this.songId = songId;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }

        public String getTags() {
            return tags;
        }

        public void setTags(String tags) {
            this.tags = tags;
        }

        public int getType() {
            return type;
        }

        public void setType(int type) {
            this.type = type;
        }

        public ArrayList<UrlListentity> getUrlList() {
            return urlList;
        }

        public void setUrlList(ArrayList<UrlListentity> urlList) {
            this.urlList = urlList;
        }
    }

    public static class AuditionListEntity{


        /**
         * bitRate : 32
         * duration : 266000
         * size : 1097351
         * suffix : m4a
         * url : http://om32.alicdn.com/319/7319/2100220084/1774946504_58974880_l.m4a?auth_key=e4459018f54fd2c32e64fc9f70e1c568-1445904000-0-null
         * typeDescription : 压缩品质
         */

        private int bitRate;
        private int duration;
        private int size;
        private String suffix;
        private String url;
        private String typeDescription;

        public void setBitRate(int bitRate) {
            this.bitRate = bitRate;
        }

        public void setDuration(int duration) {
            this.duration = duration;
        }

        public void setSize(int size) {
            this.size = size;
        }

        public void setSuffix(String suffix) {
            this.suffix = suffix;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public void setTypeDescription(String typeDescription) {
            this.typeDescription = typeDescription;
        }

        public int getBitRate() {
            return bitRate;
        }

        public int getDuration() {
            return duration;
        }

        public int getSize() {
            return size;
        }

        public String getSuffix() {
            return suffix;
        }

        public String getUrl() {
            return url;
        }

        public String getTypeDescription() {
            return typeDescription;
        }
    }
    public static class UrlListentity{


        /**
         * bitRate : 32
         * duration : 266000
         * size : 1097351
         * suffix : m4a
         * url : http://om32.alicdn.com/319/7319/2100220084/1774946504_58974880_l.m4a?auth_key=e4459018f54fd2c32e64fc9f70e1c568-1445904000-0-null
         * typeDescription : 压缩品质
         */
        private int bitRate;
        private int duration;
        private int size;
        private String suffix;
        private String url;
        private String typeDescription;

        public void setBitRate(int bitRate) {
            this.bitRate = bitRate;
        }

        public void setDuration(int duration) {
            this.duration = duration;
        }

        public void setSize(int size) {
            this.size = size;
        }

        public void setSuffix(String suffix) {
            this.suffix = suffix;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public void setTypeDescription(String typeDescription) {
            this.typeDescription = typeDescription;
        }

        public int getBitRate() {
            return bitRate;
        }

        public int getDuration() {
            return duration;
        }

        public int getSize() {
            return size;
        }

        public String getSuffix() {
            return suffix;
        }

        public String getUrl() {
            return url;
        }

        public String getTypeDescription() {
            return typeDescription;
        }
    }
    public static class MvListEntity{

    }
    public static class RightKeyEntity {


        /**
         * price : 0
         * vipFree : null
         * paymentUnite : 0
         * orderType : 0
         * musicPackage : null
         * albumPackage : null
         * promotionPackage : null
         */

        private int price;
        private Object vipFree;
        private int paymentUnite;
        private int orderType;
        private ArrayList<SongRightsEntity> songRights;
        private Object musicPackage;
        private Object albumPackage;
        private Object promotionPackage;

        public void setPrice(int price) {
            this.price = price;
        }

        public void setVipFree(Object vipFree) {
            this.vipFree = vipFree;
        }

        public void setPaymentUnite(int paymentUnite) {
            this.paymentUnite = paymentUnite;
        }

        public void setOrderType(int orderType) {
            this.orderType = orderType;
        }

        public void setMusicPackage(Object musicPackage) {
            this.musicPackage = musicPackage;
        }

        public void setAlbumPackage(Object albumPackage) {
            this.albumPackage = albumPackage;
        }

        public void setPromotionPackage(Object promotionPackage) {
            this.promotionPackage = promotionPackage;
        }

        public int getPrice() {
            return price;
        }

        public Object getVipFree() {
            return vipFree;
        }

        public int getPaymentUnite() {
            return paymentUnite;
        }

        public int getOrderType() {
            return orderType;
        }

        public Object getMusicPackage() {
            return musicPackage;
        }

        public Object getAlbumPackage() {
            return albumPackage;
        }

        public Object getPromotionPackage() {
            return promotionPackage;
        }
    }
    private class SongRightsEntity{

        /**
         * bitRate : 32
         * downFlag : true
         * listenFlag : true
         * downBuyFlag : false
         * listenBuyFlag : false
         */

        private int bitRate;
        private boolean downFlag;
        private boolean listenFlag;
        private boolean downBuyFlag;
        private boolean listenBuyFlag;

        public void setBitRate(int bitRate) {
            this.bitRate = bitRate;
        }

        public void setDownFlag(boolean downFlag) {
            this.downFlag = downFlag;
        }

        public void setListenFlag(boolean listenFlag) {
            this.listenFlag = listenFlag;
        }

        public void setDownBuyFlag(boolean downBuyFlag) {
            this.downBuyFlag = downBuyFlag;
        }

        public void setListenBuyFlag(boolean listenBuyFlag) {
            this.listenBuyFlag = listenBuyFlag;
        }

        public int getBitRate() {
            return bitRate;
        }

        public boolean getDownFlag() {
            return downFlag;
        }

        public boolean getListenFlag() {
            return listenFlag;
        }

        public boolean getDownBuyFlag() {
            return downBuyFlag;
        }

        public boolean getListenBuyFlag() {
            return listenBuyFlag;
        }
    }
}
